//
// Created by francklinson on 2021/7/25 AT 10:58.
//

//给你一个字符串s，如果 s是一个 好字符串，请你返回 true，否则请返回 false。
//
//如果 s中出现过的所有 字符的出现次数 相同，那么我们称字符串 s是 好字符串。


#include <string>
#include <unordered_map>
#include <iostream>

using namespace std;

class Solution {
public:
    bool areOccurrencesEqual(string s) {
        unordered_map<char, int> charCounter;
        for (auto &x:s) {
            ++charCounter[x];  // 统计字符出现的数量  用数组也可以
        }
        int num = 0;
        for (auto &counter:charCounter) {
            if (num == 0)
                num = counter.second;  // 判断是不是所有的字符数量都相等
            else if (counter.second != num)
                return false;
        }
        return true;
    }
};

int main() {
    Solution solution;
    cout << solution.areOccurrencesEqual("bcaabccb") << endl;
    return 0;
}

